package cn.iocoder.an.module.business.controller.admin.auditplanarea.vo;

import cn.iocoder.an.module.business.controller.admin.auditplandetail.vo.AuditPlanDetailRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDate;
import java.util.*;
import jakarta.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 审核计划区域新增/修改 Request VO")
@Data
public class AuditPlanAreaSaveReqVO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13627")
    private Long id;

    @Schema(description = "等级", example = "13725")
    private Long levelId;

    @Schema(description = "计划", example = "7026")
    private Long planId;

    @Schema(description = "区域", example = "23388")
    private Long areaId;

    @Schema(description = "审核开始日期")
    private LocalDate auditStartDate;

    @Schema(description = "审核结束日期")
    private LocalDate auditEndDate;

    @Schema(description = "审核人", example = "8043")
    private List<Long> auditUserId;

    @Schema(description = "状态", example = "2")
    private Integer status;

    @Schema(description = "填报状态", example = "2")
    private Integer writeStatus;

    @Schema(description = "区域名称", example = "李四")
    private String areaName;

    @Schema(description = "重要工序")
    private String importantProcesses;

    @Schema(description = "近期问题")
    private String recentlyProblem;

    @Schema(description = "填报人", example = "7973")
    private Long writeUserId;

    @Schema(description = "填报人", example = "李四")
    private String writeUserName;

    @Schema(description = "填报时间")
    private LocalDateTime writeTime;

    @Schema(description = "下发人", example = "17396")
    private Long sendUserId;

    @Schema(description = "下发人", example = "芋艿")
    private String sendUserName;

    @Schema(description = "下发时间")
    private LocalDateTime sendTime;

    private String auditUserName;

    //对应的审核项
    private List<AuditPlanDetailRespVO> detailList;

}